package cn.com.dhcc.app.pub.core.util;

import java.io.File;


/**
 * 一些常用的工具类
 * 
 * @日期 2014-10-17 下午4:23:34
 * @作者  高强
 */
public class TurboUtil {
	/**
	 * 
	 * @param file 文件夹或者文件
	 * @return
	 */
	public static boolean deleteFile(File file){
	    // 判断目录或文件是否存在  
	    if (!file.exists()) {  // 不存在返回 false  
	        return false;  
	    } else {  
	        // 判断是否为文件  
	        if (file.isFile()) {  // 为文件时调用删除文件方法  
	            return file.delete(); 
	        } else {  // 为目录时调用删除目录方法  
	            return deleteDirectory(file);  
	        }  
	    }  
	}
	
    private static boolean deleteDirectory(File dirFile) {  
        //如果dir对应的文件不存在，或者不是一个目录，则退出  
        if (!dirFile.exists() || !dirFile.isDirectory()) {  
            return false;  
        }  
        boolean flag = true;  
        //删除文件夹下的所有文件(包括子目录)  
        File[] files = dirFile.listFiles();  
        for (int i = 0; i < files.length; i++) {  
            //删除子文件  
            if (files[i].isFile()) {  
                flag =files[i].delete();  
                if (!flag) break;  
            } //删除子目录  
            else {  
                flag = deleteDirectory(files[i]);  
                if (!flag) break;  
            }  
        }  
        if (!flag) return false;  
        //删除当前目录  
        if (dirFile.delete()) {  
            return true;  
        } else {  
            return false;  
        }  
    }  
}
